home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacHack 1996
/
MacHack 1996.toast
/
Hacks
/
Hacks ’92
/
Text Capture FKEY
/
⁄* changes *⁄.c
next >
Wrap
Text File
|
1992-04-19
|
4KB
|
138 lines
#if justacomment
2.0
---
Construct the name of the preferences file from the resource name and the
string " Settings", rather than as a static constant, so that there will
be one less place to change the version number. Remaining places: The
resource name, the 'vers' resource, and the embedded PICT.
1.9
---
It seems that FlushInstructionCache crashes on 68000s, even though TN 261
says that it is implemented in System 6.0.3 and later. So now I call
TrapAvailable first.
1.8
---
Flush instruction case after moving code into ToolScratch in My_EndUpdate,
for 68040 compatibility.
Previously, using the FKEY reentrantly to capture its own preferences
dialog could cause a crash. This was because the second invocation
closed the preferences file before the first was finished with it.
Now, unless we are going to configure, Get_prefs opens the prefs file
read-only, and closes it as soon as it's done.
Since I search for the preferences file by name, it seems appropriate
to lock the name. As long as I was using HSetFInfo, I used that to set
the type and creator, whereas I previously used HCreate before
HCreateResFile.
Previously, calls to HOpenResFile or HCreateResFile could crash 68000
machines, due to their problem with stuff in the high byte of the name
pointer. So I used FIXPC before setting up A4.
1.7b2 = 1.7
-----
Changed dialog to use "copy to private clipboard" instead of "fake
activate", using a new PICT resource.
1.7b1
-----
Added the option to fake an activate event, to make programs that use
a private scrap, such as ASLEdit+, adopt my scrap data.
1.7b0
---
The previous version left a purgeable block in the application heap. If
used repeatedly, it left a bunch of such blocks. In TeachText in
particular, this could cause the application to think that it was low
on memory, if it relied on FreeMem(). So now I use a trick of putting a
little code in ToolScratch to call DisposeHandle. This is modelled on
some code in the UMPG by Joe Holt.
Fixed a memory leak: I forgot to dispose of text_port.
Susan's dialog changes, with new embedded resources.
Changed main routine to do a bit more in the real FKEY, less in the copy,
so that the copy will not be made if we are configuring or if the
selected rectangle is empty.
1.6
---
Now there is the option of copying text in a selected rectangle.
Renamed the preferences file 'Text Capture 1.6 Settings'. Including
the version number allows me to change the format of the file without
worrying about checking the version. Also, I use the file type 'pref',
which causes Finder 7 to show a pref icon.
1.5
---
Put in options on how to separate lines and whether to copy stuff drawn
outside the window. This involves a configuration dialog and a prefs
file. Static data is used to create DLOG and DITL resources in the
prefs file.
Made the whole thing into one FKEY resource, no longer with a separate
CUST resource. Had some trouble with RecoverHandle giving a -115 error.
Apparently if I make a change in the FKEY, I need to tell Suitcase to
close and the reopen the FKEY file.
1.4
---
Calling SystemEdit(3) had an unfortunate effect in some DAs, like
Scrapbook, of making the DA do a copy. Under System 7, it worked if
I simply removed the call to SystemEdit, but under System 6, nothing
got copied to the scrap without it. So I implemented a kludge: If the
front window is a DA window, create a new window in front, but offscreen,
call SystemEdit(3), then dispose of the window.
1.3
---
In Begin_copy, the test for a color GrafPort needed more parentheses. I
didn't realize that == has a higher precedence than &.
1.2
---
Changed to patching _BeginUpDate and _EndUpDate, per a suggestion of
Phil Shapiro.
1.1
---
Abort if the front window belongs to a DA. It seems that a DA window
never gets an update event.
Removed reentrance check, because if the longword at CUST + 6 ever
got munged, it stayed that way until restart.
Added StripAddress.
Manually lock the CUST handle in the FKEY.
#endif